<html>
<body>

<h3>函数功能</h3>该函数滚动指定窗体客户区域的目录。<br>
<h3>函数原型</h3>int ScrollWindowEx（HWND hWnd，int dx，int dyCONST RECT ·prcScroll，CONST RECT★prcCllp，HRGH hrgnUpdate，LPRECT prcUpdate，UINT flags）；<br>
<h3>参数</h3>
hWnd：客户区域将被滚动的窗体句柄。<br>
dx：在设备单元中，指定水平滚动数量。在向左滚动时此参数必须为负。<br>
dy：在设备单元中，指定垂直滚动数量。在向上滚动时此参数必须为负。<br>
prcScroll：指向RECT结构，它指定了将被滚动的客户区域部分。<br>
prcClip：指向包含了类似于被剪下矩形的RECT结构。只有在剪下内部的小块图形才受影响。从矩形外向内部的滚动部分将被着色；而从内向外的滚动部分将不再被着色。<br>
hrgnUpdate：处理已被修改的区域，保存这些由于滚动而无效的区域。此参数可以为空。<br>
prcUpdate：指向RECT结构，它接收由于滚动使得矩形无效部分的边界。此参数值可以为空。<br>
flags：指定控制滚动的标志。这个参数可以是下面的值：<br>
SW_ERASE：通过发送WM_ERASEBKGND消息给窗体。<br>
SW_INVALIDATE：在滚动后，使得由参数hrgnUpdate标识的无效区域被擦除。<br>
SW_SCROLLCHILDREN：动所有由参数prcScroll指出交叉重叠矩形的子窗体。子窗体按照dx和dy规定的像素个数滚动。系统发送消息给所有由prcScroll指出交叉重叠矩形的子窗体，即使他们不移动。<br>
SW_SMOOTHSCROLL：Windows NT 5.0或以上版本中：使用平滑滚动。利用flags参数中HIWORD部分简要说明所需平滑滚动操作的时间。<br>
<h3>返回值</h3>如果函数运行成功，返回值为SIMPLEREGION（矩形的无效区域），COMPLEXREGION（非矩形的无效区域）或NULLREGION（没有使无效的区域）如果函数运行成功，返回值为ERROR。若想获得更多的错误信息，请调用GetLastError函数。<br>
注意：如果SW_INVALIDATE和SW_ERASE标志没有被设定，那么函数ScrollWindowEx不能使滚动离开的区域失效。如果其中任意一个标志被设置，ScrollWindowEx函数就可以使区域无效。这块区域将不再被更新直到应用程序调用theUpdateWindow函数，调用theRedrawWindow函数（指定RDW_UPDATENOW或RDW_ERASENOW标志）或是从申请队列中找到WM_PAINT消息。<br>
如果窗体拥有WS_CLIPCHILDREN类型，那么由hrgnUpdate和prcUpdate指定的返回区域描述了必须更新的滚动窗体的全部区域，包括所需更新子窗体的任何区域。<br>
若SW_SCROLLCHILDREN标志被设置，在子窗体被滚动时，系统将不能完全更新屏幕。位于矩形外边的滚动子窗体部分不被擦除，也不在它的新方向上被重画。为了移动子窗体使之完全不在prcScroll指定的矩形条中，可使用DeferWindowPos函数。若标志SW_SCROLLCHILDREN被设置并且^符号交叉滚动矩形，则光标也重新设置。<br>
所有输入输出均被定义为客户端如果有必要，使用IptoDP和dptoLP函数转换逻辑相关性。<br>
Windows CE：参数flags不支持SW_SCROLLCHILDREN。参数dx和dy中只有一个为零。<br>
<h3>速查</h3>Windows NT 3.1、Windows 95、Windows CE 1.0以上，头文件：winuser.h；库文件：user32.lib。<br>


</body>
</html>
